package dto

import pb "git.mycaigou.com/gfyx/micro-gfyx-oppty-service/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/business_opportunity"

type OpenSearchContactRequest struct {
	CompanyName           string `json:"company_name"`
	OrganizingCode        string `json:"organizing_code"`
	CurrentCompanyName    string `json:"current_company_name"`
	CurrentOrganizingCode string `json:"current_organizing_code"`
	SubscriptProvinceCode string `json:"subscript_province_code"`
	SubscriptCityCode     string `json:"subscript_city_code"`
	IsDeveloper           int    `json:"is_developer"`
	IsSupplier            int    `json:"is_supplier"`
	BidKeyword            string `json:"bid_keyword"`
	SupplierKeyword       string `json:"supplier_keyword"`
	SearchKeyword         string `json:"search_keyword"`
	PhoneType             string `json:"phone_type"`
	BidOwnerMobile        string `json:"bid_owner_mobile"`
	ProvinceCode          string `json:"province_code"`
	CityCode              string `json:"city_code"`
	Page                  int32  `json:"page"`
	PageSize              int32  `json:"page_size"`
}

type OpenSearchCooperationRequest struct {
	CompanyName           string `json:"company_name"`
	OrganizingCode        string `json:"organizing_code"`
	CurrentCompanyName    string `json:"current_company_name"`
	CurrentOrganizingCode string `json:"current_organizing_code"`
	SubscriptProvinceCode string `json:"subscript_province_code"`
	SubscriptCityCode     string `json:"subscript_city_code"`
	IsDeveloper           int    `json:"is_developer"`
	IsSupplier            int    `json:"is_supplier"`
	BidKeyword            string `json:"bid_keyword"`
	SupplierKeyword       string `json:"supplier_keyword"`
	SearchKeyword         string `json:"search_keyword"`
	PhoneType             string `json:"phone_type"`
	BidOwnerMobile        string `json:"bid_owner_mobile"`
	ProvinceCode          string `json:"province_code"`
	CityCode              string `json:"city_code"`
	Page                  int32  `json:"page"`
	PageSize              int32  `json:"page_size"`
}

type OpenSearchCooperationListRequest struct {
	CompanyList           []CooperationListCompany `json:"company_list"`
	CurrentCompanyName    string                   `json:"current_company_name"`
	CurrentOrganizingCode string                   `json:"current_organizing_code"`
	SubscriptProvinceCode string                   `json:"subscript_province_code"`
	SubscriptCityCode     string                   `json:"subscript_city_code"`
	IsDeveloper           int                      `json:"is_developer"`
	IsSupplier            int                      `json:"is_supplier"`
	BidKeyword            string                   `json:"bid_keyword"`
	SupplierKeyword       string                   `json:"supplier_keyword"`
	SearchKeyword         string                   `json:"search_keyword"`
	PhoneType             string                   `json:"phone_type"`
	BidOwnerMobile        string                   `json:"bid_owner_mobile"`
	ProvinceCode          string                   `json:"province_code"`
	CityCode              string                   `json:"city_code"`
	Page                  int32                    `json:"page"`
	PageSize              int32                    `json:"page_size"`
}
type CooperationListCompany struct {
	CompanyName    string `json:"company_name"`
	OrganizingCode string `json:"organizing_code"`
}

type OpenSearchContactResponse struct {
	Success   bool   `json:"success"`
	Message   string `json:"message"`
	ErrorCode string `json:"errorCode"`
	Data      struct {
		Total int32                 `json:"total"`
		List  []*pb.ContactDataList `json:"list"`
	} `json:"data"`
}

type OpenSearchCooperationResponse struct {
	Success   bool   `json:"success"`
	Message   string `json:"message"`
	ErrorCode string `json:"errorCode"`
	Data      struct {
		Total int32                        `json:"total"`
		List  []*pb.CooperationCompanyList `json:"list"`
	} `json:"data"`
}

type BigDataDeveloperInvestTreeRequest struct {
	OrganizingCode string `json:"organizing_code"`
}

// BigDataContactResponse 分页数据
type BigDataContactResponse struct {
	RequestId string `json:"requestId"`
	ErrCode   int    `json:"errCode"`
	ErrMsg    string `json:"errMsg"`
	Data      struct {
		TotalNum int                   `json:"totalNum"`
		PageSize int                   `json:"pageSize"`
		PageNum  int                   `json:"pageNum"`
		Rows     []*pb.ContactDataList `json:"rows"`
	} `json:"data"`
	Sql interface{} `json:"sql"`
}

// BigDataCooperationRequest 分页数据
type BigDataCooperationRequest struct {
	PhoneNumber string `json:"phone_number"`
	Category    string `json:"category"`
	Page        int32  `json:"pageNum"`
	PageSize    int32  `json:"pageSize"`
}

// BigDataCooperationResponse 分页数据
type BigDataCooperationResponse struct {
	RequestId string `json:"requestId"`
	ErrCode   int    `json:"errCode"`
	ErrMsg    string `json:"errMsg"`
	Data      struct {
		TotalNum int32                 `json:"totalNum"`
		PageSize int                   `json:"pageSize"`
		PageNum  int                   `json:"pageNum"`
		Rows     []*pb.CooperationList `json:"rows"`
	} `json:"data"`
	Sql interface{} `json:"sql"`
}

type BigDataCooperationCntRequest struct {
	CooperationCompanyName string `json:"cooperation_company_name"`
	CompanyName            string `json:"company_name"`
}
type BigDataCooperationCntResponse struct {
	RequestId string                `json:"requestId"`
	ErrCode   int                   `json:"errCode"`
	ErrMsg    string                `json:"errMsg"`
	Data      []*CooperationCntData `json:"data"`
	Sql       interface{}           `json:"sql"`
}
type CooperationCntData struct {
	CompanyName         string `json:"company_name"`
	LastCooperationTime string `json:"last_cooperation_time"`
	Total               int32  `json:"total"`
}

// BigDataCompanyContactCntResponse 公司联系人数量
type BigDataCompanyContactCntResponse struct {
	RequestId string                      `json:"requestId"`
	ErrCode   int                         `json:"errCode"`
	ErrMsg    string                      `json:"errMsg"`
	Data      []*pb.CompanyContactCntList `json:"data"`
	Sql       interface{}                 `json:"sql"`
}

// BigDataPurchaseDetailRequest 商机详情
type BigDataPurchaseDetailRequest struct {
	Id string `json:"id"`
}

// BigDataPurchaseDetailResponse 商机详情
type BigDataPurchaseDetailResponse struct {
	RequestId string                `json:"requestId"`
	ErrCode   int                   `json:"errCode"`
	ErrMsg    string                `json:"errMsg"`
	Data      []*PurchaseDetailData `json:"data"`
	Sql       interface{}           `json:"sql"`
}

type PurchaseDetailData struct {
	AgentOrganization      string `json:"agent_organization"`
	AgentOwer              string `json:"agent_ower"`
	AgentOwerMobile        string `json:"agent_ower_mobile"`
	BiddingServiceCategory string `json:"bidding_service_category"`
	City                   string `json:"city"`
	CityCode               string `json:"city_code"`
	CityConcat             string `json:"city_concat"`
	DataSource             string `json:"data_source"`
	DataSourceCode         string `json:"data_source_code"`
	Detail                 string `json:"detail"`
	DeveloperName          string `json:"developer_name"`
	EndTime                string `json:"end_time"`
	ID                     string `json:"id"`
	OrganizingCode         string `json:"organizing_code"`
	Ower                   string `json:"ower"`
	OwerMobile             string `json:"ower_mobile"`
	ProjectName            string `json:"project_name"`
	Province               string `json:"province"`
	ProvinceCode           string `json:"province_code"`
	ProvinceConcat         string `json:"province_concat"`
	PublishTime            string `json:"publish_time"`
	Title                  string `json:"title"`
	UID                    string `json:"uid"`
	URL                    string `json:"url"`
}

// BigDataCooperationCompanyRequest 合作单位
type BigDataCooperationCompanyRequest struct {
	DeveloperName        string `json:"developer_name"`
	SearchContent        string `json:"search_content"`
	CooperationTimeStart string `json:"cooperation_time_start"`
	CooperationTimeEnd   string `json:"cooperation_time_end"`
	RangeMin             string `json:"range_min"`
	RangeMax             string `json:"range_max"`
	NotRangeMin          string `json:"not_range_min"`
	NotRangeMax          string `json:"not_range_max"`
}

// BigDataCooperationCompanyResponse 商机详情
type BigDataCooperationCompanyResponse struct {
	RequestId string                    `json:"requestId"`
	ErrCode   int                       `json:"errCode"`
	ErrMsg    string                    `json:"errMsg"`
	Data      []*CooperationCompanyData `json:"data"`
	Sql       interface{}               `json:"sql"`
}

type CooperationCompanyData struct {
	SupplierName        string `json:"supplier_name"`
	OrganizingCode      string `json:"organizing_code"`
	Total               int32  `json:"total"`
	LastCooperationTime string `json:"last_cooperation_time"`
}
